package cn.iocoder.yudao.module.reading.framework.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 静态资源配置属性类
 * 用于管理静态资源URL的域名配置
 *
 * @author 李晨
 */
@Data
@Component
@ConfigurationProperties(prefix = "yudao.static-resource")
public class StaticResourceProperties {

    /**
     * Minio文件服务器配置
     */
    private MinioConfig minio = new MinioConfig();

    /**
     * Minio配置类
     */
    @Data
    public static class MinioConfig {

        /**
         * Minio服务器域名
         * 例如：http://127.0.0.1:9000 (开发环境)
         *      https://minio.yourcompany.com (生产环境)
         *
         * 配置示例：
         * yudao:
         *   static-resource:
         *     minio:
         *       domain: http://127.0.0.1:9000
         */
        private String domain;

        /**
         * 存储桶名称
         *
         * 配置示例：
         * yudao:
         *   static-resource:
         *     minio:
         *       bucket: reading-app-files
         */
        private String bucket;

        /**
         * 是否启用URL转换
         * true: 将相对路径转换为完整URL
         * false: 直接返回原始路径
         *
         * 配置示例：
         * yudao:
         *   static-resource:
         *     minio:
         *       enable-url-conversion: true
         */
        private Boolean enableUrlConversion;
    }
}
